Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

229
Visualizações
La única palabra que no pasa la prueba es "casi tomla".

Estoy aprendiendo JS en freecodecamp y estoy atascado en un problema. Estoy creando un corrector palíndromo. Mi código casi funciona. Sin embargo, solo hay una palabra que no pasa la prueba y es Almostomla. No es un palíndromo, pero mi código devuelve verdadero. He probado varias cosas. Incluso reescribió el código y usó el bucle while, pero nada parece ayudar. Hay una solución en la web de freeCodecamp, pero he escrito el código de otra manera y no puedo descifrar mi error.

Aquí está mi código.

 let reversedStr = []; function palindrome(str) { let d = str.replace(/[^a-zA-Z0-9]/g, "").toLowerCase(); for (let i = d.length - 1; i >= 0; i--) { reversedStr.push(d[i]); } for (let j = 0; j < str.length; j++) { if (reversedStr[j] == d[j]) { return true; } else { return false; } } } console.log(palindrome("almostomla"));

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Esta línea if (reversedStr[j] == d[j]) {return true; regresa tan pronto como el carácter coincide tanto en el índice. No comprueba el resto de los caracteres.

De hecho, puede regresar tan pronto como el carácter en ambos índices no coincida.

También tenga en cuenta que la reversedStr tiene que estar dentro de la función. De lo contrario, contendrá valores anteriores.

 function palindrome(str) { let reversedStr = []; let d = str.replace(/[^a-zA-Z0-9]/g, "").toLowerCase(); for (let i = d.length - 1; i >= 0; i--) { reversedStr.push(d[i]); } for (let j = 0; j < str.length; j++) { if (reversedStr[j] !== d[j]) { return false; } } return true } console.log(palindrome("almostomla")); console.log(palindrome("1221"));

about 4 years ago · Juan Pablo Isaza Relatório

0

Su código devuelve "verdadero" o "falso" después de la primera coincidencia: comprueba que 'a' es igual a 'a' y devuelve verdadero.

Puede devolver "falso" desde el interior del ciclo solo si encontró una letra duplicada; de lo contrario, devolverá verdadero después de que finalice el ciclo.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda